﻿using Microsoft.Research.Science.Data;

const string filePath = @"D:\topdesk\部分厂家的数据格式（湖北中烟提供）\岛津-液相色谱-多酚类.CDF";
const string filePath0 = @"D:\topdesk\部分厂家的数据格式（湖北中烟提供）\2.cdf";
const string filePath1 = @"D:\topdesk\不同进样体积UPLC图谱\0.2-0.210075.cdf";
const string filePath2 = @"D:\topdesk\技术中心_制度性检测_挥发性有机酸20250219\KB_01.CDF";
const string filePath3 = @"D:\topdesk\部分厂家的数据格式（湖北中烟提供）\安捷伦-气质-挥发性有机酸.CDF";
const string filePathX = "msds:nc?file=" + filePath2 + "&openMode=readOnly";
try
{
    var dataset = DataSet.Open(filePathX);
    Console.WriteLine("Metadata个数:" +dataset.Metadata.Count);
    Console.WriteLine("Variables个数:" +dataset.Variables.Count);
    Console.WriteLine("Dimensions个数:" +dataset.Dimensions.Count);
    Console.WriteLine("HasChanges:" +dataset.HasChanges);
    Console.WriteLine("dataset.Name:"+dataset.Name);
    Console.WriteLine("dataset.Version:" +dataset.Version);
    Console.WriteLine("dataset.DataSetGuid:" +dataset.DataSetGuid);
    Console.WriteLine("dataset.URI:" +dataset.URI);
    Console.WriteLine("dataset.IsAutocommitEnabled:" +dataset.IsAutocommitEnabled);
    var i = 1;
    foreach (var data in dataset.Variables["error_log"].GetData())
    {
        Console.WriteLine("第" + i + "个数据: " + data);
        i++;
    }
    
    // foreach (var variable in dataset.Variables)
    // {
    //     Console.WriteLine($"变量名称: {variable.Name}");
    //     Console.WriteLine($"数据类型: {variable.TypeOfData}");
    //     Console.WriteLine($"数据类型: {variable.GetSchema()}");
    // }
    //
    // foreach (var dimension in dataset.Dimensions)
    // {
    //     Console.WriteLine($"维度名称: {dimension.Name}");
    //     Console.WriteLine($"维度长度: {dimension.Length}");
    //     Console.WriteLine($"维度内容: {dimension}");
    // }
    //
    // foreach (var metadata in dataset.Metadata)
    // {
    //     Console.WriteLine($"元数据名称: {metadata.Key}");
    //     Console.WriteLine($"元数据值: {metadata.Value}");
    // }
    
}
catch (Exception exception)
{
    Console.WriteLine(exception);
    throw;
}